import numpy as np

# 用于处理高维数组或者大型矩阵
score = np.array(
    [[80, 89, 86, 67, 79],
     [78, 97, 89, 67, 81],
     [90, 94, 78, 67, 74],
     [91, 91, 90, 67, 69],
     [76, 87, 75, 67, 86],
     [70, 79, 84, 67, 84],
     [94, 92, 93, 67, 64],
     [86, 85, 83, 67, 80]]
)
# 这里的score就是numpy的ndarrray类型数据，要求数据类型必须相同

# 1. ndarray数组的属性
score.shape  # (8, 5)代表8行5列
score.ndim  # 2代表2维
score.size  # 40代表元素个数
score.itemsize  # 8代表元素字节大小
score.dtype  # dtype('int64')代表元素类型

# 2. 数组的性状shape
a = np.array([1, 2, 3])
b = np.array([[1, 2, 3], [4, 5, 6]])
c = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
a.shape  # (3,) 一维
b.shape  # (2,3)  二维
c.shape  # (2,2,3)  三维

# 3. 数组类型
arr1 = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
arr2 = np.array(["pythonI", "hello", "I"], dtype=np.string_)
print(arr1.dtype)